package com.ccjq.jq173.shosestore.product.dao;

import com.ccjq.jq173.shosestore.product.po.Category;
import com.ccjq.jq173.shosestore.product.po.Product;
import com.ccjq.jq173.shosestore.product.po.Slider;

import java.sql.Connection;
import java.util.List;

public interface productDao
{
    /**
     * 查询所有品牌
     * @return  返回品牌名
     */
    List<Category> getPinPai();

    /**
     * 查询指定商品的指定品牌
     * @param categoryId 商品ID
     * @return 品牌名
     */
    String getPinPai(String categoryId);

    /**
     * 查询所有ID
     * @return 返回ID
     */
    String getId(String name);

    /**
     * 查询所有鞋的信息
     * @return  返回一个鞋的集合
     */
    List<Product> getAllShoes();

    List<Product> getAllShoes(int startRow,int pageSize);

    List<Product> getAllShoes(int startRow,int pageSize,String categoryId);

    /**
     * 查询指定鞋的详细信息
     * @return Prouduct
     */
    Product getOneShoes(String productId);

    /**
     * 查询指定品牌下的所有信息
     * @param productId  鞋的品牌
     * @return  返回一个鞋的集合
     */
    List<Product> getAllShoes(String productId);

    /**
     *
     * @param categoryId
     * @return
     */
    List<Product> getShoes(String categoryId);


    /**
     * 查询指定鞋的库存量
     * @param productId    商品ID
     * @return  库存量
     */
    String getStock(String productId);

    /**
     * 查询新品
     * @return  返回新品鞋的集合
     */
    List<Product> getNewShoes();


    /**
     * 查询热卖的三双鞋
     * @return  返回热卖鞋的集合
     */
    List<Product> getHotShoes();

    /**
     * 查询滚动条
     * @return  鞋的集合
     */
    List<Slider> getGunDongShoes();

    /**
     *  根据商品ID查询商品特性描述
     * @param productId 商品ID
     * @return 字符串
     */
    String get(String productId);

    /**
     * 根据商品ID更新库存量
     * @param quantity
     * @param productId
     * @return  String
     */
    boolean updateStock(int quantity, String productId, Connection con);

    /**
     * 查询数据库中的记录数量
     * @return
     */
    int getCount();

    int getCount(String categoryId);

    public Product getProduct(String productId);


}
